<?php
class Start
{
	static $loader;

	static public function run()
	{
		session_start();
		//包含添加命名空间的文件,并包含添加的文件
		include 'bootstrap/Psr4AutoLoad.php';
		//把命名空间的配置加载过来
		$namespaces = include 'config/namespaces.php';
		//把配置文件加载过来
		$GLOBALS['config'] = include 'config/config.php';
		//var_dump($GLOBALS);
		self::$loader = new Psr4AutoLoad();
		self::$loader->register();
		self::addNamespaces($namespaces);
		self::route();
	}

	static public function addNamespaces($namespaces)
	{
		foreach ($namespaces as $path => $namespace) {
			self::$loader->addNamespace($namespace , $path);
		}

	}
	static public function route()
	{
		//$_GET['m']为文件前缀名, $GET['a']为文件中的方法
		$_GET['m'] = isset($_GET['m']) ? $_GET['m'] : 'Home';
		$_GET['a'] = isset($_GET['a']) ? $_GET['a'] : 'blog';
		$_GET['m'] = ucfirst($_GET['m']);

		//拼接类名 合成命名空间为Controller\的类名
		// 如类名: Controller\UserController
		$controller = 'Controller\\' . $_GET['m'] . 'Controller';
		$c = new $controller();

		//调用拼接类名中的方法
		call_user_func(array($c , $_GET['a']));
	}
}